// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CONTENT_BROWSER_APPCACHE_APPCACHE_POLICY_H_
#define CONTENT_BROWSER_APPCACHE_APPCACHE_POLICY_H_

class GURL;

namespace content {

class AppCachePolicy {
public:
    AppCachePolicy() { }

    // Called prior to loading a main resource from the appache.
    // Returns true if allowed. This is expected to return immediately
    // without any user prompt.
    virtual bool CanLoadAppCache(const GURL& manifest_url,
        const GURL& first_party)
        = 0;

    // Called prior to creating a new appcache. Returns true if allowed.
    virtual bool CanCreateAppCache(const GURL& manifest_url,
        const GURL& first_party)
        = 0;

protected:
    ~AppCachePolicy() { }
};

} // namespace content

#endif // CONTENT_BROWSER_APPCACHE_APPCACHE_POLICY_H_
